/*
 - Autor(es): 	Rommel A. Quintanilla C.
 -		Donia A. Ruelas A.
 -		Julio C. Ccahuana M.
 - Fecha: 16/05/07

 - Copyleft: (C) 2007
 - Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los
 - terminos de la Licencia Publica General de GNU segun es publicada por la Free
 - Software Foundation, de la version 2 de dicha Licencia.
 -
 - Este programa se distribuye con la esperanza de que sea util, pero SI NINGUNA
 - GARANTIA; tampoco las implicitas garantias de MERCANTILIDAD o ADECUACION A UN
 - PROPOSITO PARTICULAR. Consulte la GNU General Public License (GPL) para mas
 - detalles adjuntada a este programa. (Fichero: JuradoWeb-License.txt).
 -
 - Descripcion:
 - BeanEquipoDatos
*/

package pe.edu.unap.jurado.BeansDatos;
import java.io.*;
import java.sql.*;
import java.util.*;
import pe.edu.unap.jurado.BeansDatos.*;
import javax.xml.bind.*;
import pe.edu.unap.jurado.Beans.*;
import java.util.*;
import java.util.Collections;

public class BeanEquipoDatos extends BeanDatos
{
  public BeanEquipoDatos()
  throws SQLException
  {
   fichero = new String("BeanEquipoDatos.java");
  }

 public BeanEquipo getEquipo(String idUsuario,String idConcurso)
 throws SQLException
 {
   BeanParticipacionDatos participacionDatos;
   BeanConstitucionDatos constitucionDatos;
   BeanEquipoDatos equipoDatos;
   
   BeanEquipo equipo=new BeanEquipo();
    	
   participacionDatos = new BeanParticipacionDatos();
   constitucionDatos = new BeanConstitucionDatos();
   BeanParticipacion participacion = new BeanParticipacion();
   BeanConstitucion constitucion = new BeanConstitucion();
    
   List listaParticipacion = participacionDatos.getListaParticipacion(idConcurso);  
   List listaConstitucion = constitucionDatos.getListaConstitucion(idUsuario);
  
   for(int i=0;i<listaParticipacion.size();i++)
   {
    participacion=(BeanParticipacion)listaParticipacion.get(i);
    
    for(int j=0;j<listaConstitucion.size();j++)
    {
     constitucion=(BeanConstitucion)listaConstitucion.get(j);
   	
     if(constitucion.getIdUsuario().equals(idUsuario)==true)
   	 {
   	  if(participacion.getIdConcurso().equals(idConcurso)==true)
   	  {
   	   if(participacion.getIdEquipo().equals(constitucion.getIdEquipo())==true)
   	    return getEquipo(participacion.getIdEquipo());
   	  }
   	 }
    }
   }   

  return equipo;
 }
 
 public BeanEquipo getEquipo(String idEquipo)
 throws SQLException
 {
  instruccion=conexion.prepareStatement("SELECT * FROM Equipo WHERE idEquipo = ?;");
  instruccion.setString(1,idEquipo);
  ResultSet resultado=instruccion.executeQuery();
 
  BeanEquipo equipo=new BeanEquipo();
  resultado.next();
  equipo.setIdEquipo(resultado.getString(1));
  equipo.setNombreEquipo(resultado.getString(2));
  equipo.setFechaRegistro(resultado.getString(3));  
  equipo.setHoraRegistro(resultado.getString(4));   
  return equipo;
 }

 public String getIdEquipo(String nombreEquipo,String fechaRegistro,String horaRegistro)
 throws SQLException
 {
  instruccion=conexion.prepareStatement("SELECT * FROM Equipo WHERE nombreEquipo = ? AND fechaRegistro = ? AND horaRegistro = ?;");
  instruccion.setString(1,nombreEquipo);
  instruccion.setString(2,fechaRegistro);
  instruccion.setString(3,horaRegistro);  
  ResultSet resultado=instruccion.executeQuery();
  resultado.next();
  String idEquipo = resultado.getString(1);
  return idEquipo;
 }

 public List getListaEquipo()
 throws SQLException
 {
  List lista=new ArrayList();
  instruccion=conexion.prepareStatement("SELECT * FROM Equipo;");
  ResultSet resultado=instruccion.executeQuery();
  while(resultado.next())
  {
   BeanEquipo equipo=new BeanEquipo();
   equipo.setIdEquipo(resultado.getString(1));
   equipo.setNombreEquipo(resultado.getString(2));
   equipo.setFechaRegistro(resultado.getString(3));
   equipo.setHoraRegistro(resultado.getString(4));
   lista.add(equipo);
  }
  return lista;
 }

 public void registrarEquipo(BeanEquipo equipo)
 throws SQLException
 {
  instruccion=conexion.prepareStatement("INSERT INTO Equipo(nombreEquipo,fechaRegistro,horaRegistro) VALUES(?,?,?);");
  instruccion.setString(1,equipo.getNombreEquipo());
  instruccion.setString(2,equipo.getFechaRegistro());
  instruccion.setString(3,equipo.getHoraRegistro());
  instruccion.executeUpdate();
 }
}
